#include <iostream>
#include <queue> // 定义于此
using namespace std;
// （Queue）数据结构的实现。队列是一种先进先出（FIFO, First In First Out）的数据结构，它允许在一端添加元素（称为队尾），并在另一端移除元素（称为队首）。
// 队列是一种线性数据结构，它遵循以下规则：
// 1、元素只能从队尾添加。
// 2、素只能从队首移除。
int main()
{
    // 创建一个整数队列
    std::queue<int> q;
    // 向队列中添加元素
    q.push(10);
    q.push(20);
    q.push(30);
    // 打印队列中的元素数量
    std::cout << "队列中的元素数量: " << q.size() << std::endl;

    // 打印队首元素
    std::cout << "队首元素: " << q.front() << std::endl;

    // 打印队尾元素
    std::cout << "队尾元素: " << q.back() << std::endl;

    // 移除队首元素
    q.pop();
    std::cout << "移除队首元素后，队首元素: " << q.front() << std::endl;

    // 再次打印队列中的元素数量
    std::cout << "队列中的元素数量: " << q.size() << std::endl;
    return 0;
}
